package org.openkoala.security.application;

import java.util.Map;

import org.openkoala.security.core.domain.User;

public interface UserApplication {
   /**
	* 
    * @Title: saveUser  
    * @Description: 保存用户信息 
    * @param @param user
    * @param @return    参数  
    * @return 
	* @throws
	*/
	public void saveUser(User user);
   /**
	* 
    * @Title: grantRolesToUser  
    * @Description: 为用户授权角色 
    * @param @param user
    * @param @return    参数  
    * @return Long    返回主键  
	* @throws
	*/
    public void grantRolesToUser(Map<String, Object> condition);
   /**
   	* 
    * @Title: deleteUser  
    * @Description: 删除用户及相应的权限
    * @param @param user
    * @param @return    参数  
    * @return Long    返回主键  
   	* @throws
   	*/
    public void deleteUser(User userO);
   /**
   	* 
    * @Title: grantDepToUser  
    * @Description: 授权科室给用户
    * @param @param user
    * @param @return    参数  
    * @return Long    返回主键  
   	* @throws
   	*/
    public void grantDepToUser(User user);
    /**
     * 
     * @Title: grantWardToUser  
     * @Description: 授权病区给用户
     * @param @param user
     * @param @return    参数  
     * @return Long    返回主键  
     * @throws
     */
    public void grantWardToUser(User user);
    
    public String getPassword(String username);
    
    /**
     * 
     *  @Discription：查询用户的id
     *  @Author： fulianxia
     *  @param user
     *  @return
     *  @Date:2018年7月3日上午10:47:57
     */
	public Long queryUserId(User user);
	
}